package com.platform.system.service;


import com.platform.common.core.domain.AjaxResult;
import com.platform.common.core.page.TableDataInfo;
import com.platform.system.domain.dto.device.SpeakerInfoDto;
import com.platform.system.domain.vo.device.SpeakerInfoVo;

import java.util.List;

/**
 * @author Huangkai
 */
public interface ISysSpeakerInfoService {

    /**
     * 分页查询
     * @param speakerInfoVo
     * @return
     */
    TableDataInfo selectSpeakerInfoList(SpeakerInfoVo speakerInfoVo);

    /**
     * 根据uid列表查询
     * @param uidList
     */
    List<SpeakerInfoDto> selectSpeakerInfoListByUidList(List<String> uidList);

    /**
     * 查询
     * @param uid
     * @return
     */
    SpeakerInfoDto selectSpeakerInfo(String uid);

    /**
     * 根据发音人类型查询
     * @param typeUid
     * @return
     */
    Long selectCountSpeakerInfoByType(String typeUid);
    /**
     * 修改状态
     * @param speakerInfoVo
     * @return
     */
    AjaxResult updateSpeakerInfoStatus(SpeakerInfoVo speakerInfoVo);

    /**
     * 新增
     * @param speakerInfoVo
     * @return
     */
    AjaxResult insertSpeakerInfo(SpeakerInfoVo speakerInfoVo);
    /**
     * 删除
     * @param speakerInfoVo
     * @return
     */
    AjaxResult deleteSpeakerInfo(SpeakerInfoVo speakerInfoVo);

    /**
     * 修改
     * @param speakerInfoVo
     * @return
     */
    AjaxResult updateSpeakerInfo(SpeakerInfoVo speakerInfoVo);
}
